package com.sdry.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PartReturnExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PartReturnExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andPartreturnidIsNull() {
            addCriterion("partReturnid is null");
            return (Criteria) this;
        }

        public Criteria andPartreturnidIsNotNull() {
            addCriterion("partReturnid is not null");
            return (Criteria) this;
        }

        public Criteria andPartreturnidEqualTo(Long value) {
            addCriterion("partReturnid =", value, "partreturnid");
            return (Criteria) this;
        }

        public Criteria andPartreturnidNotEqualTo(Long value) {
            addCriterion("partReturnid <>", value, "partreturnid");
            return (Criteria) this;
        }

        public Criteria andPartreturnidGreaterThan(Long value) {
            addCriterion("partReturnid >", value, "partreturnid");
            return (Criteria) this;
        }

        public Criteria andPartreturnidGreaterThanOrEqualTo(Long value) {
            addCriterion("partReturnid >=", value, "partreturnid");
            return (Criteria) this;
        }

        public Criteria andPartreturnidLessThan(Long value) {
            addCriterion("partReturnid <", value, "partreturnid");
            return (Criteria) this;
        }

        public Criteria andPartreturnidLessThanOrEqualTo(Long value) {
            addCriterion("partReturnid <=", value, "partreturnid");
            return (Criteria) this;
        }

        public Criteria andPartreturnidIn(List<Long> values) {
            addCriterion("partReturnid in", values, "partreturnid");
            return (Criteria) this;
        }

        public Criteria andPartreturnidNotIn(List<Long> values) {
            addCriterion("partReturnid not in", values, "partreturnid");
            return (Criteria) this;
        }

        public Criteria andPartreturnidBetween(Long value1, Long value2) {
            addCriterion("partReturnid between", value1, value2, "partreturnid");
            return (Criteria) this;
        }

        public Criteria andPartreturnidNotBetween(Long value1, Long value2) {
            addCriterion("partReturnid not between", value1, value2, "partreturnid");
            return (Criteria) this;
        }

        public Criteria andCompanyIsNull() {
            addCriterion("company is null");
            return (Criteria) this;
        }

        public Criteria andCompanyIsNotNull() {
            addCriterion("company is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyEqualTo(Long value) {
            addCriterion("company =", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyNotEqualTo(Long value) {
            addCriterion("company <>", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyGreaterThan(Long value) {
            addCriterion("company >", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyGreaterThanOrEqualTo(Long value) {
            addCriterion("company >=", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyLessThan(Long value) {
            addCriterion("company <", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyLessThanOrEqualTo(Long value) {
            addCriterion("company <=", value, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyIn(List<Long> values) {
            addCriterion("company in", values, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyNotIn(List<Long> values) {
            addCriterion("company not in", values, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyBetween(Long value1, Long value2) {
            addCriterion("company between", value1, value2, "company");
            return (Criteria) this;
        }

        public Criteria andCompanyNotBetween(Long value1, Long value2) {
            addCriterion("company not between", value1, value2, "company");
            return (Criteria) this;
        }

        public Criteria andPmanIsNull() {
            addCriterion("pman is null");
            return (Criteria) this;
        }

        public Criteria andPmanIsNotNull() {
            addCriterion("pman is not null");
            return (Criteria) this;
        }

        public Criteria andPmanEqualTo(Long value) {
            addCriterion("pman =", value, "pman");
            return (Criteria) this;
        }

        public Criteria andPmanNotEqualTo(Long value) {
            addCriterion("pman <>", value, "pman");
            return (Criteria) this;
        }

        public Criteria andPmanGreaterThan(Long value) {
            addCriterion("pman >", value, "pman");
            return (Criteria) this;
        }

        public Criteria andPmanGreaterThanOrEqualTo(Long value) {
            addCriterion("pman >=", value, "pman");
            return (Criteria) this;
        }

        public Criteria andPmanLessThan(Long value) {
            addCriterion("pman <", value, "pman");
            return (Criteria) this;
        }

        public Criteria andPmanLessThanOrEqualTo(Long value) {
            addCriterion("pman <=", value, "pman");
            return (Criteria) this;
        }

        public Criteria andPmanIn(List<Long> values) {
            addCriterion("pman in", values, "pman");
            return (Criteria) this;
        }

        public Criteria andPmanNotIn(List<Long> values) {
            addCriterion("pman not in", values, "pman");
            return (Criteria) this;
        }

        public Criteria andPmanBetween(Long value1, Long value2) {
            addCriterion("pman between", value1, value2, "pman");
            return (Criteria) this;
        }

        public Criteria andPmanNotBetween(Long value1, Long value2) {
            addCriterion("pman not between", value1, value2, "pman");
            return (Criteria) this;
        }

        public Criteria andPdateIsNull() {
            addCriterion("pdate is null");
            return (Criteria) this;
        }

        public Criteria andPdateIsNotNull() {
            addCriterion("pdate is not null");
            return (Criteria) this;
        }

        public Criteria andPdateEqualTo(Date value) {
            addCriterion("pdate =", value, "pdate");
            return (Criteria) this;
        }

        public Criteria andPdateNotEqualTo(Date value) {
            addCriterion("pdate <>", value, "pdate");
            return (Criteria) this;
        }

        public Criteria andPdateGreaterThan(Date value) {
            addCriterion("pdate >", value, "pdate");
            return (Criteria) this;
        }

        public Criteria andPdateGreaterThanOrEqualTo(Date value) {
            addCriterion("pdate >=", value, "pdate");
            return (Criteria) this;
        }

        public Criteria andPdateLessThan(Date value) {
            addCriterion("pdate <", value, "pdate");
            return (Criteria) this;
        }

        public Criteria andPdateLessThanOrEqualTo(Date value) {
            addCriterion("pdate <=", value, "pdate");
            return (Criteria) this;
        }

        public Criteria andPdateIn(List<Date> values) {
            addCriterion("pdate in", values, "pdate");
            return (Criteria) this;
        }

        public Criteria andPdateNotIn(List<Date> values) {
            addCriterion("pdate not in", values, "pdate");
            return (Criteria) this;
        }

        public Criteria andPdateBetween(Date value1, Date value2) {
            addCriterion("pdate between", value1, value2, "pdate");
            return (Criteria) this;
        }

        public Criteria andPdateNotBetween(Date value1, Date value2) {
            addCriterion("pdate not between", value1, value2, "pdate");
            return (Criteria) this;
        }

        public Criteria andPremark1IsNull() {
            addCriterion("premark1 is null");
            return (Criteria) this;
        }

        public Criteria andPremark1IsNotNull() {
            addCriterion("premark1 is not null");
            return (Criteria) this;
        }

        public Criteria andPremark1EqualTo(String value) {
            addCriterion("premark1 =", value, "premark1");
            return (Criteria) this;
        }

        public Criteria andPremark1NotEqualTo(String value) {
            addCriterion("premark1 <>", value, "premark1");
            return (Criteria) this;
        }

        public Criteria andPremark1GreaterThan(String value) {
            addCriterion("premark1 >", value, "premark1");
            return (Criteria) this;
        }

        public Criteria andPremark1GreaterThanOrEqualTo(String value) {
            addCriterion("premark1 >=", value, "premark1");
            return (Criteria) this;
        }

        public Criteria andPremark1LessThan(String value) {
            addCriterion("premark1 <", value, "premark1");
            return (Criteria) this;
        }

        public Criteria andPremark1LessThanOrEqualTo(String value) {
            addCriterion("premark1 <=", value, "premark1");
            return (Criteria) this;
        }

        public Criteria andPremark1Like(String value) {
            addCriterion("premark1 like", value, "premark1");
            return (Criteria) this;
        }

        public Criteria andPremark1NotLike(String value) {
            addCriterion("premark1 not like", value, "premark1");
            return (Criteria) this;
        }

        public Criteria andPremark1In(List<String> values) {
            addCriterion("premark1 in", values, "premark1");
            return (Criteria) this;
        }

        public Criteria andPremark1NotIn(List<String> values) {
            addCriterion("premark1 not in", values, "premark1");
            return (Criteria) this;
        }

        public Criteria andPremark1Between(String value1, String value2) {
            addCriterion("premark1 between", value1, value2, "premark1");
            return (Criteria) this;
        }

        public Criteria andPremark1NotBetween(String value1, String value2) {
            addCriterion("premark1 not between", value1, value2, "premark1");
            return (Criteria) this;
        }

        public Criteria andPremark2IsNull() {
            addCriterion("premark2 is null");
            return (Criteria) this;
        }

        public Criteria andPremark2IsNotNull() {
            addCriterion("premark2 is not null");
            return (Criteria) this;
        }

        public Criteria andPremark2EqualTo(String value) {
            addCriterion("premark2 =", value, "premark2");
            return (Criteria) this;
        }

        public Criteria andPremark2NotEqualTo(String value) {
            addCriterion("premark2 <>", value, "premark2");
            return (Criteria) this;
        }

        public Criteria andPremark2GreaterThan(String value) {
            addCriterion("premark2 >", value, "premark2");
            return (Criteria) this;
        }

        public Criteria andPremark2GreaterThanOrEqualTo(String value) {
            addCriterion("premark2 >=", value, "premark2");
            return (Criteria) this;
        }

        public Criteria andPremark2LessThan(String value) {
            addCriterion("premark2 <", value, "premark2");
            return (Criteria) this;
        }

        public Criteria andPremark2LessThanOrEqualTo(String value) {
            addCriterion("premark2 <=", value, "premark2");
            return (Criteria) this;
        }

        public Criteria andPremark2Like(String value) {
            addCriterion("premark2 like", value, "premark2");
            return (Criteria) this;
        }

        public Criteria andPremark2NotLike(String value) {
            addCriterion("premark2 not like", value, "premark2");
            return (Criteria) this;
        }

        public Criteria andPremark2In(List<String> values) {
            addCriterion("premark2 in", values, "premark2");
            return (Criteria) this;
        }

        public Criteria andPremark2NotIn(List<String> values) {
            addCriterion("premark2 not in", values, "premark2");
            return (Criteria) this;
        }

        public Criteria andPremark2Between(String value1, String value2) {
            addCriterion("premark2 between", value1, value2, "premark2");
            return (Criteria) this;
        }

        public Criteria andPremark2NotBetween(String value1, String value2) {
            addCriterion("premark2 not between", value1, value2, "premark2");
            return (Criteria) this;
        }

        public Criteria andPremark3IsNull() {
            addCriterion("premark3 is null");
            return (Criteria) this;
        }

        public Criteria andPremark3IsNotNull() {
            addCriterion("premark3 is not null");
            return (Criteria) this;
        }

        public Criteria andPremark3EqualTo(String value) {
            addCriterion("premark3 =", value, "premark3");
            return (Criteria) this;
        }

        public Criteria andPremark3NotEqualTo(String value) {
            addCriterion("premark3 <>", value, "premark3");
            return (Criteria) this;
        }

        public Criteria andPremark3GreaterThan(String value) {
            addCriterion("premark3 >", value, "premark3");
            return (Criteria) this;
        }

        public Criteria andPremark3GreaterThanOrEqualTo(String value) {
            addCriterion("premark3 >=", value, "premark3");
            return (Criteria) this;
        }

        public Criteria andPremark3LessThan(String value) {
            addCriterion("premark3 <", value, "premark3");
            return (Criteria) this;
        }

        public Criteria andPremark3LessThanOrEqualTo(String value) {
            addCriterion("premark3 <=", value, "premark3");
            return (Criteria) this;
        }

        public Criteria andPremark3Like(String value) {
            addCriterion("premark3 like", value, "premark3");
            return (Criteria) this;
        }

        public Criteria andPremark3NotLike(String value) {
            addCriterion("premark3 not like", value, "premark3");
            return (Criteria) this;
        }

        public Criteria andPremark3In(List<String> values) {
            addCriterion("premark3 in", values, "premark3");
            return (Criteria) this;
        }

        public Criteria andPremark3NotIn(List<String> values) {
            addCriterion("premark3 not in", values, "premark3");
            return (Criteria) this;
        }

        public Criteria andPremark3Between(String value1, String value2) {
            addCriterion("premark3 between", value1, value2, "premark3");
            return (Criteria) this;
        }

        public Criteria andPremark3NotBetween(String value1, String value2) {
            addCriterion("premark3 not between", value1, value2, "premark3");
            return (Criteria) this;
        }

        public Criteria andPremark4IsNull() {
            addCriterion("premark4 is null");
            return (Criteria) this;
        }

        public Criteria andPremark4IsNotNull() {
            addCriterion("premark4 is not null");
            return (Criteria) this;
        }

        public Criteria andPremark4EqualTo(String value) {
            addCriterion("premark4 =", value, "premark4");
            return (Criteria) this;
        }

        public Criteria andPremark4NotEqualTo(String value) {
            addCriterion("premark4 <>", value, "premark4");
            return (Criteria) this;
        }

        public Criteria andPremark4GreaterThan(String value) {
            addCriterion("premark4 >", value, "premark4");
            return (Criteria) this;
        }

        public Criteria andPremark4GreaterThanOrEqualTo(String value) {
            addCriterion("premark4 >=", value, "premark4");
            return (Criteria) this;
        }

        public Criteria andPremark4LessThan(String value) {
            addCriterion("premark4 <", value, "premark4");
            return (Criteria) this;
        }

        public Criteria andPremark4LessThanOrEqualTo(String value) {
            addCriterion("premark4 <=", value, "premark4");
            return (Criteria) this;
        }

        public Criteria andPremark4Like(String value) {
            addCriterion("premark4 like", value, "premark4");
            return (Criteria) this;
        }

        public Criteria andPremark4NotLike(String value) {
            addCriterion("premark4 not like", value, "premark4");
            return (Criteria) this;
        }

        public Criteria andPremark4In(List<String> values) {
            addCriterion("premark4 in", values, "premark4");
            return (Criteria) this;
        }

        public Criteria andPremark4NotIn(List<String> values) {
            addCriterion("premark4 not in", values, "premark4");
            return (Criteria) this;
        }

        public Criteria andPremark4Between(String value1, String value2) {
            addCriterion("premark4 between", value1, value2, "premark4");
            return (Criteria) this;
        }

        public Criteria andPremark4NotBetween(String value1, String value2) {
            addCriterion("premark4 not between", value1, value2, "premark4");
            return (Criteria) this;
        }

        public Criteria andPremark5IsNull() {
            addCriterion("premark5 is null");
            return (Criteria) this;
        }

        public Criteria andPremark5IsNotNull() {
            addCriterion("premark5 is not null");
            return (Criteria) this;
        }

        public Criteria andPremark5EqualTo(String value) {
            addCriterion("premark5 =", value, "premark5");
            return (Criteria) this;
        }

        public Criteria andPremark5NotEqualTo(String value) {
            addCriterion("premark5 <>", value, "premark5");
            return (Criteria) this;
        }

        public Criteria andPremark5GreaterThan(String value) {
            addCriterion("premark5 >", value, "premark5");
            return (Criteria) this;
        }

        public Criteria andPremark5GreaterThanOrEqualTo(String value) {
            addCriterion("premark5 >=", value, "premark5");
            return (Criteria) this;
        }

        public Criteria andPremark5LessThan(String value) {
            addCriterion("premark5 <", value, "premark5");
            return (Criteria) this;
        }

        public Criteria andPremark5LessThanOrEqualTo(String value) {
            addCriterion("premark5 <=", value, "premark5");
            return (Criteria) this;
        }

        public Criteria andPremark5Like(String value) {
            addCriterion("premark5 like", value, "premark5");
            return (Criteria) this;
        }

        public Criteria andPremark5NotLike(String value) {
            addCriterion("premark5 not like", value, "premark5");
            return (Criteria) this;
        }

        public Criteria andPremark5In(List<String> values) {
            addCriterion("premark5 in", values, "premark5");
            return (Criteria) this;
        }

        public Criteria andPremark5NotIn(List<String> values) {
            addCriterion("premark5 not in", values, "premark5");
            return (Criteria) this;
        }

        public Criteria andPremark5Between(String value1, String value2) {
            addCriterion("premark5 between", value1, value2, "premark5");
            return (Criteria) this;
        }

        public Criteria andPremark5NotBetween(String value1, String value2) {
            addCriterion("premark5 not between", value1, value2, "premark5");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}